package 异常;

import 方法的引用.引用静态方法;

public class 抛出异常 {
    public static void main(String[] args) {
        //需求: 定义一个方法求数组的最大值

        int[] arr={1,2,3,4,5};
        int[] arr1=null;
//      System.out.println(max(new int[0]));
        try {
            System.out.println(max(arr1));
        } catch (Exception e) {
            System.out.println("空指针异常");
        }
        System.out.println(max(arr));
    }

    public static int max(int[] arr){
        //当数组为0的时候就产生错误,所以为了规避错误
        if (arr==null){
            //手动创建一个异常的对象,并把这个异常交给方法的调用者处理-->后面的方法不会执行了.
            throw new NullPointerException();
        }
        if (arr.length==0){
            throw new ArrayIndexOutOfBoundsException();
        }
        System.out.println("是否执行");
        int max=arr[0];
        for (int j : arr) {
            if (max < j) {
                max = j;
            }
        }
        return max;
    }
}
